package com.hc.page.feign;

import com.hc.common.entity.Products;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * 通过Feign远程调用微服务服务提供方请求处理方法
 *  注解@FeignClient:实现Feign远程调用配置
 *      name:服务提供方名称
 *      fallback:Feign接口远程调用失败，则调用此类的对应方法(熔断实现)
 */
@FeignClient(name = "service-product",fallback = ProductsFeignImpl.class)
public interface ProductsFeign {
    //每个抽象方法映射服务提供方的方法,方法签名必须相同
    @RequestMapping("/products/select/{id}")
    Products selectById(@PathVariable Integer id);

    @RequestMapping("/products/selectPort")
    String selectPort();
}
